int border_right;
int border_bottom;
int border_left;
+
+ int scale_factor;
};
struct _StBorderImageClass {
int border_top,
int border_right,
int border_bottom,
- int border_left)
+ int border_left,
+ int scale_factor)
{
StBorderImage *image;
image->border_right = border_right;
image->border_bottom = border_bottom;
image->border_left = border_left;
+ image->scale_factor = scale_factor;
return image;
}
g_return_if_fail (ST_IS_BORDER_IMAGE (image));
if (border_top)
- *border_top = image->border_top;
+ *border_top = image->border_top * image->scale_factor;
if (border_right)
- *border_right = image->border_right;
+ *border_right = image->border_right * image->scale_factor;
if (border_bottom)
- *border_bottom = image->border_bottom;
+ *border_bottom = image->border_bottom * image->scale_factor;
if (border_left)
- *border_left = image->border_left;
+ *border_left = image->border_left * image->scale_factor;
}
/**
int border_top,
int border_right,
int border_bottom,
- int border_left);
+ int border_left,
+ int scale_factor);
const char *st_border_image_get_filename (StBorderImage *image);
void st_border_image_get_borders (StBorderImage *image,
st_theme_node_get_border_image (StThemeNode *node)
{
int i;
+ int scale_factor;
if (node->border_image_computed)
return node->border_image;
node->border_image_computed = TRUE;
ensure_properties (node);
+ g_object_get (node->context, "scale-factor", &scale_factor, NULL);
for (i = node->n_properties - 1; i >= 0; i--)
{
goto next_property;
node->border_image = st_border_image_new (filename,
- border_top, border_right, border_bottom, border_left);
+ border_top, border_right, border_bottom, border_left,
+ scale_factor);
g_free (filename);